Portable electronic devices, such as notebook computers, personal organizers, portable telecommunication equipment and other processor-based devices, consume much power during their display mode. These portable computers, and other processor-based devices, are known to include a central processing unit (CPU), video graphics circuitry, system memory and other peripheral circuits. In such computers, the central processing unit functions as a host processor, while the video graphics circuitry (e.g., a graphics coprocessor) functions as a loosely coupled coprocessor. By way of example, the video graphics circuitry may be an integrated circuit on a single semiconductor die, such as an application-specific integrated circuit (ASIC).
The power dissipation and performance characteristics of the CPU, video graphics circuitry, system memory and other integrated circuits are typically related to an operating frequency of a clock signal. Although the performance of the video graphics circuitry increases as the operating frequency of the clock signal increases, the video graphics circuitry also increases power consumption and generates more heat. Typically, the operating frequency of the clock signal is limited to a maximum clock frequency, commonly referred to as a nominal operating frequency.
Power consumption and thermal dissipation needs to be minimized for portable devices without unnecessarily sacrificing operational performance. Operational performance for a portable device may include display operations and video playback requiring real-time display processing, so that real-time display updating occurs on the LCD display, or any suitable display device. For example, video capture operations and gaming applications operate in real-time on a display. The need for minimizing power consumption without unnecessarily sacrificing operational performance also arises for nonportable devices, due to increased circuit density and increased clock speeds.
The video graphics circuit comprises a clock signal generator that includes a phase lock loop (PLL) circuit to generate a clock signal for the video graphics coprocessor (graphics engine), the graphics memory and a display device (or devices), such as a CRT, that a user may plug into the laptop computer or an LCD display that is mounted to the laptop computer. As is known in the art, the graphics engine may include programmable divider circuits or another PLL circuit for generating a corresponding graphics engine clock signal, other than the memory clock signal. Power and heat dissipation typically varies with clock frequency.
A laptop computer typically includes an operating system that functions under the control of a host central processing unit to provide suspend/standby information to a power management control system. The operating system generates the suspend/standby command information when, for example, the laptop computer is in a standby/suspend mode, as activated through a graphic user interface, software controlled timer, switch or other trigger event. For example, a memory controller receives the suspend/standby command data and in response places the memory in a self-refresh mode. The memory may be, for example, a dynamic RAM (DRAM), synchronous memory, such as synchronous dynamic RAM (SDRAM), or synchronous graphics RAM (SGRAM), or any other suitable graphics and/or video memory device. This memory may reside on the same semiconductor die (ASIC) as the video graphics coprocessor, or it may be separate and connected through board level or package level traces.
The operating system may disable the memory clock during suspend and standby modes to reduce the power consumption of the video graphics system, which includes the synchronous memories used for frame buffer operations. However, this power management function of the operating system typically only places the memory in a low power-suspend mode when the video graphics engine is completely idle, by turning off the memory clock and other clocks during the suspend mode. When the power management system on the operating system indicates that the display is in the active mode (e.g., the display is enabled), the memory is typically always enabled and the memory clock is always running at a nominal operating frequency. As a result, the memory either operates at the nominal operating frequency, or is completely idle, by turning off the memory clock and other clocks during the suspend mode. However, when the power management function on the operating system places the memory in the suspend or low power mode, the display becomes blank. Unfortunately, a blank display is unacceptable, especially for applications that require real-time display processing.
As previously stated, a user may change the memory clock frequency manually via a user interface such as an operating system that allows a user to change the power saving settings for the processor and memory clock frequencies. Such a technique requires that the user stop interacting with a particular application in order to access the user interface for changing the power saving settings. However, requiring a user to stop interacting with the application is unacceptable.
According to another method, the portable electronic device sets the memory clock frequency during reboot. The portable electronic device is typically programmed to establish a memory clock frequency during reboot that will provide long battery life. As a result, this method is limited to adjusting memory operation during reboot or manually after reboot.
According to another method, the portable electronic device changes power consumption settings in response to detecting a change of power source from an externally provided power source such as an external power supply or source of alternating current (A/C) to internal battery power. According to this method, the portable electronic device may change the clock frequency of the graphics processor and the memory in response to detecting the change of power source to control the power consumption of the portable electronic device. However, the display may flicker due to the change of the frequency for the memory clock signal. The flicker on the display may be caused by the change of frequency for the memory clock signal, which causes a corruption of the data in the memory. As a result, corruptions to data in the memory cause corruptions of the display, such as the moving of data, movement of an object in the display, or the display of missing or incorrect data. As previously stated, blanking or disabling the display for one or more display frames in order to prevent corrupted data from being displayed is unacceptable, especially for applications that require real-time display processing.